/* 
 * File:   FilterLines.h
 * Author: Guilherme Monteiro
 *
 */

#ifndef FILTERLINES_H
#define	FILTERLINES_H
#include <cxcore.h>
#include <cstdio>
#include "ROI.h"
#include "Line.h"

#define MIN_HORIZONTAL_DISTANCE 15 // in scale of high resolution image
#define MIN_VERTICAL_DISTANCE 15 // in scale of high resolution image

using namespace std;

/**
 * Class that represents a filter of
 * lines.
 * 
 * @author Guilherme Monteiro
 * 
 */
class FilterLines {
public:
    FilterLines(ROI* roi);
    FilterLines(const FilterLines& orig);
    virtual ~FilterLines();
    vector<Line> primaryFilter(vector<Line> lines);
    vector<Line> secondaryFilter(vector<Line> lines);
private:
    ROI* roi;
    
    bool validatesLine(Line line);
};

#endif	/* FILTERLINES_H */

